package com.quanxiaoha.weblog.web.service;

import com.quanxiaoha.weblog.common.utils.Response;
import com.quanxiaoha.weblog.web.model.vo.user.EmailLoginReqVO;
import com.quanxiaoha.weblog.web.model.vo.user.SendEmailCodeReqVO;

/**
 * @author: 犬小哈
 * @url: www.quanxiaoha.com
 * @date: 2025-01-28 15:00
 * @description: 邮箱服务接口
 **/
public interface EmailService {

    /**
     * 发送邮箱验证码
     * @param sendEmailCodeReqVO 发送邮箱验证码请求VO
     * @return 发送结果
     */
    Response sendEmailCode(SendEmailCodeReqVO sendEmailCodeReqVO);

    /**
     * 邮箱验证码登录
     * @param emailLoginReqVO 邮箱验证码登录请求VO
     * @return 登录结果
     */
    Response emailLogin(EmailLoginReqVO emailLoginReqVO);

    /**
     * 验证邮箱验证码
     * @param email 邮箱
     * @param code 验证码
     * @param type 验证码类型
     * @return 验证结果
     */
    boolean verifyEmailCode(String email, String code, Integer type);

    /**
     * 绑定邮箱
     * @param email 邮箱
     * @param code 验证码
     * @return 绑定结果
     */
    Response bindEmail(String email, String code);
}
